import hashlib, json, shutil
import os


# file = {}

def md5str(str_x, encoding='utf8'):
    a = hashlib.md5()
    a.update(str_x.encode(encoding))
    res = a.hexdigest()
    return res


def register(username, password):
    mmfile = r'D:\密码.txt'  # 用户名密码 存放于那个文件   -->路径
    if not os.path.exists(mmfile):  # 判断文件是否存在  主要是首次运行的时候使用
        f = open(mmfile, 'w')
        f.close()
    # 思考一个问题
    # 如果是第二次注册 ,文件中已经有内容了

    # 从文件中读出之前注册的用户
    with open(mmfile, 'r') as f:
        reader = f.read()
        if reader == '':
            file = {}
        else:
            file = json.loads(reader)
    # -----------------------

    #  新注册的 用户   +  之前的用户  --> file
    with open(r'D:\密码.txt', 'w', encoding='utf8') as f:
        file[md5str(username)] = md5str(password)
        res = json.dumps(file)  # 将整体的 数据  序列化到磁盘
        f.write(res)


def login(username, password):
    with open(r'D:\密码.txt', 'r',encoding='utf8') as f:
        res = json.loads(f.read())
        if md5str(username) in res and res[md5str(username)] == md5str(password):
            return '登录成功 !'
        else:
            return '账号或密码输入错误,请重新输入 ！'
